package com.zw.pm.module.board.dailyoutput;

import com.zw.pm.gen.entity.TaskDaily;
import com.zw.pm.module.board.single.TaskModel;

import java.util.List;

/**
 * @Description: 任务 数据访问层
 *
 * @Author: China.sgl
 * @Date: 2019/9/16 09:11
 */
public interface DailyOutputDao {

    /**
     * 根据项目ID查询 模板任务
     *
     * @param id 项目id
     * @return list
     */
    List<TaskModel> findTemplateTaskByProjectId(Integer id);

    /**
     * 根据项目ID查询 生产厂任务
     *
     * @param id 项目id
     * @return list
     */
    List<TaskModel> findFactoryTaskByProjectId(Integer id);

    /**
     * 根据ID查询
     *
     * @param id id
     * @return TaskModel
     */
    TaskModel getById(Integer id);

    /**
     * 根据项目ID查询工艺任务平均状态
     *
     * @param projectId 项目ID
     * @return 平均值
     */
    float findProcessStatusByProjectId(Integer projectId);

    /**
     * 根据项目ID查询生产任务平均状态
     *
     * @param projectId 项目ID
     * @return 平均值
     */
    float findProduceStatusByProjectId(Integer projectId);

    /**
     * 根据项目ID查询所有任务平均状态
     *
     * @param projectId 项目ID
     * @return 平均值
     */
    float findAllStatusByProjectId(Integer projectId);

    /**
     * 根据项目ID查询项目日报
     * @param dailyOutputModel
     * @return
     */
    List<DailyOutputModel> findProjectDailyList(DailyOutputModel dailyOutputModel);

    /**
     * 根据日报ID查询
     * @param id
     * @return
     */
    DailyOutputModel findTaskDaily(Integer id);
}